package com.jingdianjichi.oss.controller;

import com.alibaba.nacos.api.config.annotation.NacosValue;
import com.jingdianjichi.oss.service.FileService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Author xf
 * @Aate 2024/3/4 下午 09:57
 * @Version v1.0.0
 * @Description : TODO:
 */
@RestController
@RequestMapping("/oss")
public class FileController {


//    这里因为封了两套逻辑，就不用指定与底层Util类做交互了。而是指定具体的service
//    private MinioUtil minioUtil;
//    private StorageService minioStorageService;

    //    如果要切换aliyun的到时候需要改这个service，那就太麻烦了。引入适配器模式。

//    为什么不用工厂+策略。因为oss涉及的命名或者文件没有统一规定。不能抽象出来，所以采用适配器模式或者wrapper包装
    @Resource
    private FileService fileService;

//    @NacosValue(value = "${storage.service.type}", autoRefreshed = true)
//    public String type;

    @GetMapping("/testGetAllBuckets")
    public String testGetAllBuckets() {
        List<String> allBucket = fileService.getAllBucket();
        return allBucket.get(0);
    }

//    @GetMapping("/testNacos")
//    public String testNacos() throws Exception{
//        return type;
//    }

}
